home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / kcl / akcl / akcl1615.lha / V / lsp / seqlib.lsp < prev    next >
Lisp/Scheme  |  1989-08-31  |  17KB  |  777 lines

  1. Changes file for /usr/local/src/kcl/lsp/seqlib.lsp
  2. Created on Thu Aug 31 10:03:04 1989
  3. Usage \n@s[Original text\n@s|Replacement Text\n@s]
  4. See the file rascal.ics.utexas.edu:/usr2/ftp/merge.c
  5. for a program to merge change files.  Anything not between
  6. "\n@s[" and  "\n@s]" is a simply a comment.
  7. This file was constructed using emacs and  merge.el
  8. Enhancements Copyright (c) W. Schelter All rights reserved.
  9.    by (Bill Schelter)  wfs@carl.ma.utexas.edu 
  10.  
  11.  
  12. ****Change:(orig (46 49 d))
  13. @s[(proclaim '(function check-seq-test (t t) t))
  14. (defun check-seq-test (test test-not)
  15.   (when (and test test-not)
  16.         (error "Both :TEST and :TEST-NOT were specified.")))
  17.  
  18. @s|
  19. @s]
  20.  
  21.  
  22. ****Change:(orig (58 65 c))
  23. @s[(proclaim '(function check-seq-args (t t t t) t))
  24. (defun check-seq-args (test test-not start end)
  25.   (when (and test test-not)
  26.         (error "Both :TEST and :TEST-NOT were specified."))
  27.  
  28. @s,        (error "START is greater than END.")))
  29.  
  30. @s|(proclaim '(function test-error() t))
  31. (defun test-error()
  32.   (error "both test and test not supplied"))
  33.  
  34. @s]
  35.  
  36.  
  37. ****Change:(orig (66 66 a))
  38. @s[
  39.  
  40. @s|
  41. (defun bad-seq-limit (x &optional y)
  42.   (error "bad sequence limit ~a" (if y (list x y) x)))
  43.  
  44. @s]
  45.  
  46.  
  47. ****Change:(orig (67 67 a))
  48. @s[
  49.  
  50. @s|
  51.  
  52. (eval-when (compile eval)
  53. (proclaim '(function the-start (t) fixnum))
  54. (proclaim '(function the-end (t t) fixnum))
  55. (defmacro f+ (x y) `(the fixnum (+ (the fixnum ,x) (the fixnum ,y))))
  56. (defmacro f- (x y) `(the fixnum (- (the fixnum ,x) (the fixnum ,y))))
  57.  
  58. (defmacro with-start-end ( start end seq &body body)
  59.   `(let ((,start (if ,start (the-start ,start) 0)))
  60.      (declare (fixnum ,start))
  61.      (let ((,end (the-end ,end ,seq))) 
  62.        (declare (fixnum ,end))
  63.        (or (<= ,start ,end) (bad-seq-limit  ,start ,end))
  64.        ,@ body)))
  65. )
  66.  
  67. (defun the-end (x y)
  68.   (cond ((fixnump x)
  69.      (or (<= (the fixnum x) (the fixnum (length y)))
  70.          (bad-seq-limit x))
  71.      x)
  72.     ((null x)
  73.      (length y))
  74.     (t (bad-seq-limit x))))
  75.     
  76. (defun the-start (x)
  77.   (cond ((fixnump x)
  78.      (or (>= (the fixnum x) 0)
  79.          (bad-seq-limit x))
  80.      (the fixnum x))
  81.     ((null x) 0)
  82.     (t (bad-seq-limit x))))
  83.   
  84.  
  85.  
  86.  
  87. @s]
  88.  
  89.  
  90. ****Change:(orig (70 71 c))
  91. @s[                    (start 0)
  92.                     (end (length sequence))
  93.  
  94. @s|                    start 
  95.                     end
  96.  
  97. @s]
  98.  
  99.  
  100. ****Change:(orig (73 76 c))
  101. @s[  (check-seq-start-end start end)
  102.   (let ((start start) (end end))
  103.     (declare (fixnum start end))
  104.     (cond ((not from-end)
  105.  
  106. @s|  (with-start-end  start end sequence
  107.      (cond ((not from-end)
  108.  
  109. @s]
  110.  
  111.  
  112. ****Change:(orig (81 81 c))
  113. @s[                 (incf start))
  114.  
  115. @s|                 (setf start (f+ 1 start))
  116.          )
  117.  
  118. @s]
  119.  
  120.  
  121. ****Change:(orig (84 84 c))
  122. @s[                                              (incf start)))))
  123.  
  124. @s|                          (setf start (f+ 1 start))
  125.                           ))))
  126.  
  127. @s]
  128.  
  129.  
  130. ****Change:(orig (90 90 c))
  131. @s[                 (decf end)
  132.  
  133. @s|                 (setf end (f+ end -1))
  134.  
  135. @s]
  136.  
  137.  
  138. ****Change:(orig (94 94 c))
  139. @s[             (decf end))))))
  140.  
  141. @s|           (setf end (f+ -1 end)))))))
  142.  
  143. @s]
  144.  
  145.  
  146. ****Change:(orig (98 105 c))
  147. @s[         &key (start 0) (end (length sequence)))
  148.   (check-seq-start-end start end)
  149.   (let ((start start) (end end))
  150.     (declare (fixnum start end))
  151.  
  152. @s,      (setf (elt sequence i) item))))
  153.  
  154. @s|              &key start end )
  155.   (with-start-end start end sequence
  156.           (do ((i start (f+ 1 i)))
  157.               ((>= i end) sequence)
  158.              (declare (fixnum i))
  159.              (setf (elt sequence i) item))))
  160.  
  161. @s]
  162.  
  163.  
  164. ****Change:(orig (109 114 c))
  165. @s[            &key (start1 0) (end1 (length sequence1))
  166.              (start2 0) (end2 (length sequence2)))
  167.   (check-seq-start-end start1 end1)
  168.   (check-seq-start-end start2 end2)
  169.  
  170. @s,    (declare (fixnum start1 end1 start2 end2))
  171.  
  172. @s|            &key start1  end1
  173.              start2 end2 )
  174.   (with-start-end start1 end1 sequence1
  175.      (with-start-end start2 end2 sequence2          
  176.  
  177. @s]
  178.  
  179.  
  180. ****Change:(orig (117 123 c))
  181. @s[        (do* ((i 0 (1+ i))
  182.               (l (if (< (the fixnum (- end1 start1))
  183.                         (the fixnum (- end2 start2)))
  184.                      (the fixnum (- end1 start1))
  185.  
  186. @s,              (s2 (+ start2 (the fixnum (1- l))) (1- s2)))
  187.  
  188. @s|        (do* ((i 0 (f+ 1 i))
  189.               (l (if (<  (f- end1 start1)
  190.                          (f- end2 start2))
  191.                       (f- end1 start1)
  192.                       (f- end2 start2)))
  193.               (s1 (f+ start1  (f+ -1 l)) (f+ -1 s1))
  194.               (s2 (f+ start2  (f+ -1 l)) (f+ -1 s2)))
  195.  
  196. @s]
  197.  
  198.  
  199. ****Change:(orig (127 133 c))
  200. @s[        (do ((i 0 (1+ i))
  201.              (l (if (< (the fixnum (- end1 start1))
  202.                        (the fixnum (- end2 start2)))
  203.                     (the fixnum (- end1 start1))
  204.  
  205. @s,             (s2 start2 (1+ s2)))
  206.  
  207. @s|        (do ((i 0 (f+ 1 i))
  208.              (l (if (<  (f- end1 start1)
  209.                         (f- end2 start2))
  210.                     (f- end1 start1)
  211.                     (f- end2 start2)))
  212.              (s1 start1 (f+ 1 s1))
  213.              (s2 start2 (f+ 1 s2)))
  214.  
  215. @s]
  216.  
  217.  
  218. ****Change:(orig (136 136 c))
  219. @s[          (setf (elt sequence1 s1) (elt sequence2 s2))))))
  220.  
  221. @s|          (setf (elt sequence1 s1) (elt sequence2 s2)))))))
  222.  
  223. @s]
  224.  
  225.  
  226. ****Change:(orig (155 156 c))
  227. @s[               (iterate-i '(i start (1+ i)))
  228.                (iterate-i-from-end '(i (1- end) (1- i)))
  229.  
  230. @s|               (iterate-i '(i start (f+ 1 i)))
  231.                (iterate-i-from-end '(i (f+ -1  end) (f+ -1 i)))
  232.  
  233. @s]
  234.  
  235.  
  236. ****Change:(orig (159 160 c))
  237. @s[               (iterate-i-everywhere '(i 0 (1+ i)))
  238.                (iterate-i-everywhere-from-end '(i (1- l) (1- i)))
  239.  
  240. @s|               (iterate-i-everywhere '(i 0 (f+ 1 i)))
  241.                (iterate-i-everywhere-from-end '(i (f+ -1  l) (f+ -1  i)))
  242.  
  243. @s]
  244.  
  245.  
  246. ****Change:(orig (176 176 c))
  247. @s[               (kount-up '(setq k (1+ k))))
  248.  
  249. @s|               (kount-up '(setq k (f+ 1  k))))
  250.  
  251. @s]
  252.  
  253.  
  254. ****Change:(orig (179 180 c))
  255. @s[                            (start 0) (end (length sequence))
  256.                             ,@(if countp '((count (length sequence))))
  257.  
  258. @s|                            start end
  259.                             ,@(if countp '(count))
  260.  
  261. @s]
  262.  
  263.  
  264. ****Change:(orig (184 184 a))
  265. @s[                             nil))
  266.  
  267. @s|                             nil))
  268.           ,@(if everywherep '((declare (fixnum l))))
  269.        (with-start-end start end sequence
  270.       (let ,@(if countp
  271.              '(((count (if (null count)
  272.                    most-positive-fixnum count)))))           
  273.  
  274. @s]
  275.  
  276.  
  277. ****Change:(orig (186 189 c))
  278. @s[              ,@(if everywherep '((declare (fixnum l))))
  279.               (check-seq-args test test-not start end)
  280.               (let ((start start) (end end))
  281.                 (declare (fixnum start end))
  282.  
  283. @s|              nil
  284.           (and test test-not (test-error))
  285.  
  286. @s]
  287.  
  288.  
  289. ****Change:(orig (199 199 c))
  290. @s[                            (eval-body))))))
  291.  
  292. @s|                            (eval-body)))))))
  293.  
  294. @s]
  295.  
  296.  
  297. ****Change:(orig (204 205 c))
  298. @s[                      (start 0) (end (length sequence))
  299.                       ,@(if countp '((count (length sequence))))
  300.  
  301. @s|                      start end
  302.                       ,@(if countp '(count))
  303.  
  304. @s]
  305.  
  306.  
  307. ****Change:(orig (216 218 c))
  308. @s[                 &key from-end
  309.                       (start 0) (end (length sequence))
  310.                       ,@(if countp '((count (length sequence))))
  311.  
  312. @s|                 &key from-end start end
  313.                       ,@(if countp '(count))
  314.  
  315. @s]
  316.  
  317.  
  318. ****Change:(orig (236 236 c))
  319. @s[             (do ((i 0 (1+ i)))
  320.  
  321. @s|             (do ((i 0 (f+ 1  i)))
  322.  
  323. @s]
  324.  
  325.  
  326. ****Change:(orig (241 241 c))
  327. @s[             (do ((i start (1+ i)) (j 0))
  328.  
  329. @s|             (do ((i start (f+ 1  i)) (j 0))
  330.  
  331. @s]
  332.  
  333.  
  334. ****Change:(orig (246 246 c))
  335. @s[                      (incf j)
  336.  
  337. @s|                      (setf  j (f+ 1  j))
  338.  
  339. @s]
  340.  
  341.  
  342. ****Change:(orig (269 269 c))
  343. @s[             (do ((i 0 (1+ i)))
  344.  
  345. @s|             (do ((i 0 (f+ 1  i)))
  346.  
  347. @s]
  348.  
  349.  
  350. ****Change:(orig (273 273 c))
  351. @s[             (do ((i start (1+ i)) (j 0))
  352.  
  353. @s|             (do ((i start (f+ 1  i)) (j 0))
  354.  
  355. @s]
  356.  
  357.  
  358. ****Change:(orig (277 277 c))
  359. @s[                      (incf j)
  360.  
  361. @s|                      (setf  j (f+ 1  j))
  362.  
  363. @s]
  364.  
  365.  
  366. ****Change:(orig (285 285 c))
  367. @s[                                  (the fixnum (- l count))))
  368.  
  369. @s|                                  (the fixnum (f- l count))))
  370.  
  371. @s]
  372.  
  373.  
  374. ****Change:(orig (287 287 c))
  375. @s[                  (j start)
  376.  
  377. @s|                  (j 0)
  378.  
  379. @s]
  380.  
  381.  
  382. ****Change:(orig (294 294 c))
  383. @s[                        (incf j))))))
  384.  
  385. @s|                        (setf  j (f+ 1  j)))))))
  386.  
  387. @s]
  388.  
  389.  
  390. ****Change:(orig (299 299 c))
  391. @s[               (make-sequence (seqtype sequence) (the fixnum (- l count))))
  392.  
  393. @s|               (make-sequence (seqtype sequence) (the fixnum (f- l count))))
  394.  
  395. @s]
  396.  
  397.  
  398. ****Change:(orig (301 301 c))
  399. @s[              (j (- (the fixnum (1- end)) n))
  400.  
  401. @s|              (j (f- (the fixnum (f+ -1  end)) n))
  402.  
  403. @s]
  404.  
  405.  
  406. ****Change:(orig (308 308 c))
  407. @s[                    (decf j)))))))
  408.  
  409. @s|                    (setq  j (f+ -1  j))))))))
  410.  
  411. @s]
  412.  
  413.  
  414. ****Change:(orig (365 366 c))
  415. @s[                               (start 0 startsp)
  416.                                (end (length sequence) endsp)
  417.  
  418. @s|                   start end
  419.  
  420. @s]
  421.  
  422.  
  423. ****Change:(orig (368 369 c))
  424. @s[  (check-seq-args test test-not start end)
  425.   (when (and (listp sequence) (not from-end) (not startsp) (not endsp))
  426.  
  427. @s|  (and test test-not (test-error))
  428.   (when (and (listp sequence) (not from-end) (null start)
  429.          (null end))
  430.  
  431. @s]
  432.  
  433.  
  434. ****Change:(orig (388 389 c))
  435. @s[                               (start 0 startsp)
  436.                                (end (length sequence) endsp)
  437.  
  438. @s|                               start
  439.                                end 
  440.  
  441. @s]
  442.  
  443.  
  444. ****Change:(orig (393 394 c))
  445. @s[  (check-seq-args test test-not start end)
  446.   (when (and (listp sequence) (not from-end) (not startsp) (not endsp))
  447.  
  448. @s|  (and test test-not (test-error))
  449.   (when (and (listp sequence) (not from-end) (null start)
  450.          (null end))
  451.  
  452. @s]
  453.  
  454.  
  455. ****Change:(orig (405 406 c))
  456. @s[  (let ((start start) (end end))
  457.     (declare (fixnum start end))
  458.  
  459. @s|  (with-start-end start end sequence
  460.  
  461. @s]
  462.  
  463.  
  464. ****Change:(orig (409 409 c))
  465. @s[             (i start (1+ i)))
  466.  
  467. @s|             (i start (f+ 1  i)))
  468.  
  469. @s]
  470.  
  471.  
  472. ****Change:(orig (412 413 c))
  473. @s[                                         (the fixnum (- l n))))
  474.                   (i 0 (1+ i))
  475.  
  476. @s|                                         (the fixnum (f- l n))))
  477.                   (i 0 (f+ 1  i))
  478.  
  479. @s]
  480.  
  481.  
  482. ****Change:(orig (423 423 c))
  483. @s[                                     :start (the fixnum (1+ i))
  484.  
  485. @s|                                     :start (the fixnum (f+ 1  i))
  486.  
  487. @s]
  488.  
  489.  
  490. ****Change:(orig (428 428 c))
  491. @s[                      (incf j)))))
  492.  
  493. @s|                      (setf  j (f+ 1  j))))))
  494.  
  495. @s]
  496.  
  497.  
  498. ****Change:(orig (434 434 c))
  499. @s[                          :start (the fixnum (1+ i))
  500.  
  501. @s|                          :start (the fixnum (f+ 1  i))
  502.  
  503. @s]
  504.  
  505.  
  506. ****Change:(orig (437 437 c))
  507. @s[                (incf n)))
  508.  
  509. @s|                (setf  n (f+ 1  n))))
  510.  
  511. @s]
  512.  
  513.  
  514. ****Change:(orig (439 439 c))
  515. @s[             (i (1- end) (1- i)))
  516.  
  517. @s|             (i (f+ -1  end) (f+ -1  i)))
  518.  
  519. @s]
  520.  
  521.  
  522. ****Change:(orig (442 444 c))
  523. @s[                                         (the fixnum (- l n))))
  524.                   (i (1- l) (1- i))
  525.                   (j (- (the fixnum (1- l)) n)))
  526.  
  527. @s|                                         (the fixnum (f- l n))))
  528.                   (i (f+ -1  l) (f+ -1  i))
  529.                   (j (f- (the fixnum (f+ -1  l)) n)))
  530.  
  531. @s]
  532.  
  533.  
  534. ****Change:(orig (459 459 c))
  535. @s[                      (decf j)))))
  536.  
  537. @s|                      (setq  j (f+ -1  j))))))
  538.  
  539. @s]
  540.  
  541.  
  542. ****Change:(orig (469 469 c))
  543. @s[                (incf n))))))
  544.  
  545. @s|                (setf  n (f+ 1  n)))))))
  546.  
  547. @s]
  548.  
  549.  
  550. ****Change:(orig (475 483 c))
  551. @s[              (start1 0)
  552.               (start2 0)
  553.               (end1 (length sequence1))
  554.               (end2 (length sequence2)))
  555.  
  556. @s,    (declare (fixnum start1 end1 start2 end2))
  557.  
  558. @s|              start1 start2
  559.               end1 end2)
  560.   (and test test-not (test-error))
  561.   (with-start-end start1 end1 sequence1
  562.    (with-start-end start2 end2 sequence2
  563.  
  564. @s]
  565.  
  566.  
  567. ****Change:(orig (485 486 c))
  568. @s[        (do ((i1 start1 (1+ i1))
  569.              (i2 start2  (1+ i2)))
  570.  
  571. @s|        (do ((i1 start1 (f+ 1  i1))
  572.              (i2 start2  (f+ 1  i2)))
  573.  
  574. @s]
  575.  
  576.  
  577. ****Change:(orig (494 495 c))
  578. @s[        (do ((i1 (1- end1) (1- i1))
  579.              (i2 (1- end2)  (1- i2)))
  580.  
  581. @s|        (do ((i1 (f+ -1  end1) (f+ -1  i1))
  582.              (i2 (f+ -1  end2)  (f+ -1  i2)))
  583.  
  584. @s]
  585.  
  586.  
  587. ****Change:(orig (497 497 c))
  588. @s[             (if (and (< i1 start1) (< i2 start2)) nil i1))
  589.  
  590. @s|             (if (and (< i1 start1) (< i2 start2)) nil (f+ 1 i1)))
  591.  
  592. @s]
  593.  
  594.  
  595. ****Change:(orig (502 502 c))
  596. @s[                  (return i1))))))
  597.  
  598. @s|                  (return (f+ 1 i1))))))))
  599.  
  600. @s]
  601.  
  602.  
  603. ****Change:(orig (508 516 c))
  604. @s[                    (start1 0)
  605.                     (start2 0)
  606.                     (end1 (length sequence1))
  607.                     (end2 (length sequence2)))
  608.  
  609. @s,    (declare (fixnum start1 end1 start2 end2))
  610.  
  611. @s|            start1 start2
  612.             end1 end2)
  613.   (and test test-not (test-error))
  614.   (with-start-end start1 end1 sequence1
  615.    (with-start-end start2 end2 sequence2  
  616.  
  617. @s]
  618.  
  619.  
  620. ****Change:(orig (519 520 c))
  621. @s[         (do ((i1 start1 (1+ i1))
  622.               (i2 start2 (1+ i2)))
  623.  
  624. @s|         (do ((i1 start1 (f+ 1  i1))
  625.               (i2 start2 (f+ 1  i2)))
  626.  
  627. @s]
  628.  
  629.  
  630. ****Change:(orig (528 528 c))
  631. @s[         (incf start2))
  632.  
  633. @s|         (setf  start2 (f+ 1  start2)))
  634.  
  635. @s]
  636.  
  637.  
  638. ****Change:(orig (530 532 c))
  639. @s[         (do ((i1 (1- end1) (1- i1))
  640.               (i2 (1- end2) (1- i2)))
  641.              ((< i1 start1) (return-from search (the fixnum (1+ i2))))
  642.  
  643. @s|         (do ((i1 (f+ -1  end1) (f+ -1  i1))
  644.               (i2 (f+ -1  end2) (f+ -1  i2)))
  645.              ((< i1 start1) (return-from search (the fixnum (f+ 1  i2))))
  646.  
  647. @s]
  648.  
  649.  
  650. ****Change:(orig (539 539 c))
  651. @s[         (decf end2)))))
  652.  
  653. @s|         (setq  end2 (f+ -1  end2)))))))
  654.  
  655. @s]
  656.  
  657.  
  658. ****Change:(orig (563 563 c))
  659. @s[        (do ((j 1 (1+ j)) (l1 l (cdr l1)))
  660.  
  661. @s|        (do ((j 1 (f+ 1  j)) (l1 l (cdr l1)))
  662.  
  663. @s]
  664.  
  665.  
  666. ****Change:(orig (621 621 c))
  667. @s[(proclaim '(function quick-sort (t fixnum fixnum t t)))
  668.  
  669. @s|(proclaim '(function quick-sort (t fixnum fixnum t t) t))
  670.  
  671. @s]
  672.  
  673.  
  674. ****Change:(orig (623 653 c))
  675. @s[(defun quick-sort (sequence start end predicate key &aux (j 0) (k 0))
  676.   (declare (fixnum start end j k))
  677.   (when (<= end (the fixnum (1+ start)))
  678.         (return-from quick-sort sequence))
  679.  
  680. @s,  (quick-sort sequence j end predicate key)
  681.   sequence)
  682.  
  683. @s|(defun quick-sort (seq start end pred key)
  684.        (declare (fixnum start end))
  685.   (if (<= end (the fixnum (f+ 1  start)))
  686.       seq
  687.       (let* ((j start) (k end) (d (elt seq start)) (kd (funcall key d)))
  688.             (declare (fixnum j k))
  689.         (block outer-loop
  690.           (loop (loop (setq  k (f+ -1  k))
  691.                       (unless (< j k) (return-from outer-loop))
  692.                       (when (funcall pred (funcall key (elt seq k)) kd)
  693.                             (return)))
  694.                 (loop (setf  j (f+ 1  j))
  695.                       (unless (< j k) (return-from outer-loop))
  696.                       (unless (funcall pred (funcall key (elt seq j)) kd)
  697.                               (return)))
  698.                 (let ((temp (elt seq j)))
  699.                   (setf (elt seq j) (elt seq k)
  700.                         (elt seq k) temp))))
  701.         (setf (elt seq start) (elt seq j)
  702.               (elt seq j) d)
  703.         (quick-sort seq start j pred key)
  704.         (quick-sort seq (f+ 1  j) end pred key))))
  705.  
  706. @s]
  707.  
  708.  
  709. ****Change:(orig (655 655 d))
  710. @s[
  711.  
  712.  
  713. @s|
  714.  
  715. @s]
  716.  
  717.  
  718. ****Change:(orig (671 672 c))
  719. @s[  (do ((newseq (make-sequence result-type (the fixnum (+ l1 l2))))
  720.        (j 0 (1+ j))
  721.  
  722. @s|  (do ((newseq (make-sequence result-type (the fixnum (f+ l1 l2))))
  723.        (j 0 (f+ 1  j))
  724.  
  725. @s]
  726.  
  727.  
  728. ****Change:(orig (682 682 c))
  729. @s[          (setf (elt newseq j) (elt sequence1 i1))
  730.           (incf i1))
  731.  
  732. @s|          (setf (elt newseq j) (elt sequence1 i1))
  733.           (setf  i1 (f+ 1  i1)))
  734.  
  735. @s]
  736.  
  737.  
  738. ****Change:(orig (687 687 c))
  739. @s[          (setf (elt newseq j) (elt sequence2 i2))
  740.           (incf i2))
  741.  
  742. @s|          (setf (elt newseq j) (elt sequence2 i2))
  743.           (setf  i2 (f+ 1  i2)))
  744.  
  745. @s]
  746.  
  747.  
  748. ****Change:(orig (690 690 c))
  749. @s[          (setf (elt newseq j) (elt sequence1 i1))
  750.           (incf i1))))
  751.  
  752. @s|          (setf (elt newseq j) (elt sequence1 i1))
  753.           (setf  i1 (f+ 1  i1)))))
  754.  
  755. @s]
  756.  
  757.  
  758. ****Change:(orig (693 693 c))
  759. @s[       (setf (elt newseq j) (elt sequence1 i1))
  760.        (incf i1))
  761.  
  762. @s|       (setf (elt newseq j) (elt sequence1 i1))
  763.        (setf  i1 (f+ 1  i1)))
  764.  
  765. @s]
  766.  
  767.  
  768. ****Change:(orig (696 696 c))
  769. @s[       (setf (elt newseq j) (elt sequence2 i2))
  770.        (incf i2)))))
  771.  
  772. @s|       (setf (elt newseq j) (elt sequence2 i2))
  773.        (setf  i2 (f+ 1  i2))))))
  774.  
  775. @s]
  776.  
  777.